#ifndef __PARTICLE_H__
#define __PARTICLE_H__

typedef unsigned char BYTE;

class Particle {
public:
	BYTE R, G, B;
	double x, y, z;
	double size;

	Particle(double size, const double position[], const BYTE color[]) {
		initialize(size, position, color);
	}

	Particle(double size, double x, double y, double z, BYTE R, BYTE G, BYTE B) {
		double position[] = { x,y,z };
		BYTE color[] = { R,G,B };
		initialize(size, position, color);
	}

	void setColor(BYTE color[]);
	void setColor(BYTE R, BYTE G, BYTE B);

	void setPosition(double position[]);
	void setPosition(double x, double y, double z);

private:
	void initialize(double size, const double position[], const BYTE color[]) {
		this->size = size;
		x = position[0];
		y = position[1];
		z = position[2];
		R = color[0];
		G = color[1];
		B = color[2];
	}
};

#endif